package com.array;

import java.lang.reflect.Array;

public class Array1 {
	
	
	public static void  dispaly(Object[] obj){
	
		
		for(int a: (Integer[])obj){
			System.out.println(a);
		}
	}
	
//	public static void dispaly(Object obj){
//		
//		
//		Integer [] args = (Integer[])obj;
//		
//		for(int i = 0; i<args.length; i++){
//			System.out.println(args[i]);
//		}
//	}
	
//	//通用
//	public static void dispaly(Object obj){
//		 Class c = obj.getClass();
//		 
//		 //c.getComponentType().getName();查看数组类型
//		 
//		
//		 System.out.println(c.isArray());
//		if(c.isArray()){		 
//			 for(int i = 0; i<Array.getLength(obj); i++){
//				 System.out.println(Array.get(obj, i));
//			 }
//		}else{
//			System.out.println(obj);
//		}
//	}
	
	public static  Object  arrayGrow(Object obj){
		Object newObject = null;
		
		if(!obj.getClass().isArray()){
			return null;
		}
		
		int size = 11*Array.getLength(obj)/10 + 10;
		
		//System.out.println(Array.get(obj, 1)); //获取数组中的某个元素
		
		newObject = Array.newInstance((obj.getClass().getComponentType()), size);
		//System.out.println(Array.getLength(obj));//获取长度
		//System.out.println(Array.getLength(newObject)); //获取长度
		
		System.arraycopy(obj, 0, newObject, 0, Array.getLength(obj));
		
		return newObject;
	}

	public static void main(String[] args) {
		
		
		Integer[] a ={1,2,3,4,5};
		
		Array1.dispaly(a);
		
		String str = "testStr......";
		
		Integer[] newArrayInt = (Integer[]) Array1.arrayGrow(a);
		
		System.out.println(newArrayInt.length);
		//Array1.dispaly(str);
	}
	
	

}
